home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
libs
/
conlib.lha
/
ConLib
/
Misc_Stuff
/
Oberon_ConLib.mod
< prev
Wrap
Text File
|
1992-01-04
|
8KB
|
201 lines
(******************************************************************
****
**** Name: ConLib.mod
****
**** Author: Bjørn Reese
****
**** Template of Oberon Module for 'con.library'
****
**** WARNING!! Not tested at all!
****
******************************************************************)
MODULE ConLib;
IMPORT e :Exec;
ADDRESS * = e.ADDRESS;
CHARDEFSIZE * = 36;
IGNOREVALUE * = -1;
TYPE
ConBase * = STRUCT
con_Lib * : e.Library; (* Library Node *)
con_SegList * : ADDRESS; (* Segment List [from LoadSeg()] *)
con_IntBase * : ADDRESS; (* Intuition Base *)
con_MathBase * : ADDRESS; (* MathFFP Base *)
END;
ConBasePtr * = POINTER TO ConBase;
ConHandle * = STRUCT
cnh_CDBase * : ADDRESS; (* Base of Console Device *)
cnh_Window * : ADDRESS; (* Our Intuition Window *)
cnh_UserPort * : ADDRESS; (* UserPort for Window *)
cnh_Unit * : ADDRESS; (* ConUnit *)
cnh_WriteIO * : ADDRESS; (* Our Write IO Port *)
cnh_Signal * : LONGSET; (* SignalSet [for Wait()] *)
cnh_ExLength * : INTEGER; (* Extra Space for String Formatting *)
cnh_CursorStatus * : INTEGER; (* Current Cursor Status [on/off] *)
cnh_PadSpace * : CHAR; (* Char for Leading Spaces in Numbers *)
cnh_PadZero * : CHAR; (* Char for Leading Zeros in Numbers *)
cnh_PadGroup * : CHAR; (* Char for Group Classifying *)
cnh_PadString * : CHAR; (* Char for Unused String Positions *)
cnh_DecimalPoint * : CHAR; (* Char for Decimal Point *)
cnh_FloatE * : CHAR; (* Char for Floating Point Exponent *)
cnh_EchoTable * : ARRAY CHARDEFSIZE OF SHORTINT; (* BitTable for Echo Chars *)
cnh_UserNotes * : ARRAY 8 OF ADDRESS; (* List of Pointers to UserNotes *)
cnh_MsgHandler * : ADDRESS; (* Pointer to a User Message Handler *)
cnh_Reserved * : ARRAY 4 OF LONGINT;
END;
ConHandlePtr * = POINTER TO ConHandle;
ConInfo * = STRUCT
cin_XPos * : INTEGER; (* Cursor X Position *)
cin_YPos * : INTEGER; (* Cursor Y Position *)
cin_XSize * : INTEGER; (* Chars per Line *)
cin_YSize * : INTEGER; (* Lines in Window *)
cin_Styles * : INTEGER; (* Text Styles *)
cin_FgCol * : INTEGER; (* ForeGround Color *)
cin_BgCol * : INTEGER; (* BackGround Color *)
cin_Reserved * : ARRAY 4 OF LONGINT;
END;
ConInfoPtr * = POINTER TO ConInfo;
AcceptStructure * = STRUCT
acc_XStart * : INTEGER; (* Start X Position *)
acc_YStart * : INTEGER; (* Start Y Position *)
acc_Styles * : INTEGER; (* Text Styles *)
acc_FgCol * : INTEGER; (* ForeGround Color *)
acc_BgCol * : INTEGER; (* BackGround Color *)
acc_ExitFlags * : LONGSET; (* IDCMP Exit Flags *)
acc_Class * : LONGSET; (* Copy of im_Class *)
acc_Code * : INTEGER; (* Copy of im_Code *)
acc_Qualifier * : INTEGER; (* Copy of im_Qualifier *)
acc_IAddress * : ADDRESS; (* Copy of im_IAddress *)
acc_MouseX * : INTEGER; (* Copy of im_MouseX *)
acc_MouseY * : INTEGER; (* Copy of im_MouseY *)
acc_Seconds * : LONGINT; (* Copy of im_Seconds *)
acc_Micros * : LONGINT; (* Copy of im_Micros *)
acc_IDCMPWindow : ADDRESS; (* Copy of im_IDCMPWindow *)
acc_ValidTable * : ARRAY CHARDEFSIZE OF SHORTINT; (* BitTable of Valid Chars *)
acc_ExitTable * : ARRAY CHARDEFSIZE OF SHORTINT; (* BitTable of Exit Chars *)
acc_Char * : CHAR; (* ASCII char *)
acc_Pad001 * : SHORTINT; (* Nothing serious *)
acc_Reserved * : ARRAY 4 OF LONGINT;
END;
AcceptStructurePtr * = POINTER TO AcceptStructure;
EAcceptStructure * = STRUCT
accs_InputBuffer * : ADDRESS; (* Pointer to Input Buffer *)
accs_UndoBuffer * : ADDRESS; (* Pointer to Work Buffer *)
accs_MaxLength * : INTEGER; (* Maximum Length of Text [incl. NULL] *)
accs_FieldLen * : INTEGER; (* Length of Input Field [incl. NULL] *)
accs_Length * : INTEGER; (* Current Length of Text [excl. NULL] *)
accs_Position * : INTEGER; (* Current Position in Text *)
accs_DispPos * : INTEGER; (* First Displayed Position in Text *)
accs_Reserved * : ARRAY 4 OF LONGINT;
END;
EAcceptStructurePtr * = POINTER TO EAcceptStructure;
CONST
DEFMODE_ALL * = 0;
DEFMODE_NEW * = 1;
DEFMODE_ADD * = 2;
DEFMODE_REM * = 3;
DEFMODE_GET * = 4;
DEFALL * = 0;
DEFNONE * = 00020000H;
DEFALFANUM * = 00040000H;
DEFALFA * = 00060000H;
DEFNUMERIC * = 00080000H;
DEFDECIMAL * = 000A0000H;
DEFHEX * = 000C0000H;
DEFOCTAL * = 000E0000H;
DEFBINARY * = 00100000H;
DEFFLOAT * = 00120000H;
CURSOROFF * = 0;
CURSORON * = 1;
ACCB_ERASE * = 31;
ACCF_ERASE * = 80000000H;
ACCB_RAWKEY * = 28;
ACCF_RAWKEY * = 10000000H;
ACCB_DUALKEY * = 27;
ACCF_DUALKEY * = 08000000H;
ACCB_UPKEY * = 26;
ACCF_UPKEY * = 04000000H;
ACCB_ECHO * = 25;
ACCF_ECHO * = 0200000H;
ACCB_WAIT * = 24;
ACCF_WAIT * = 01000000H;
ACCB_JUSTIFIED * = 22;
ACCF_JUSTIFIED * = 00400000H;
ACCB_CONTINUE * = 21;
ACCF_CONTINUE * = 00200000H;
ACCB_OVERWRITE * = 20;
ACCF_OVERWRITE * = 00100000H;
ACCB_LASTEXIT * = 19;
ACCF_LASTEXIT * = 00080000H;
ACCB_FULLSTOP * = 18;
ACCF_FULLSTOP * = 00040000H;
ACCB_NOAMIGA * = 17;
ACCF_NOAMIGA * = 00020000H;
ACCB_NOSTDAMIGA * = 16;
ACCF_NOSTDAMIGA * = 00010000H;
ACCB_NOSCROLL * = 15;
ACCF_NOSCROLL * = 00008000H;
SGFB_PLAIN * = 0;
SGFF_PLAIN * = 0000H;
SGFB_BOLD * = 1;
SGFF_BOLD * = 0001H;
SGFB_ITALIC * = 2;
SGFF_ITALIC * = 0002H;
SGFB_UNDERLINED * = 3;
SGFF_UNDERLINED * = 0004H;
CNV_DECIMAL * = 00000001H;
CNV_HEX * = 00000002H;
CNV_OCTAL * = 00000003H;
CNV_BINARY * = 00000004H;
CNV_SIGNED * = 00010000H;
CNV_LEADSPACE * = 00020000H;
AKEY_NONE * = 0;
AKEY_HELP * = 5;
AKEY_BS * = 8;
AKEY_TAB * = 9;
AKEY_LF * = 10;
AKEY_RETURN * = 13;
AKEY_ARROWRG * = 17;
AKEY_ARROWLF * = 18;
AKEY_ARROWUP * = 19;
AKEY_ARROWDN * = 20;
AKEY_ESC * = 27;
AKEY_DEL * = 127;
AKEY_F1 * = 129;
AKEY_F2 * = 130;
AKEY_F3 * = 131;
AKEY_F4 * = 132;
AKEY_F5 * = 133;
AKEY_F6 * = 134;
AKEY_F7 * = 135;
AKEY_F8 * = 136;
AKEY_F9 * = 137;
AKEY_F10 * = 138;
AKEY_CSI * = 155;
VAR
con* [4] : ConBasePtr;
PROCEDURE OpenCon * {con, -30} (ConWindow {8}:ADDRESS; CursorMode {0}:INTEGER):ADDRESS;
PROCEDURE CloseCon * {con, -36} (ConHandle {8}:ADDRESS);
PROCEDURE DoFormat * {con, -42} (ConHandle {8}, String {9}, FormatArgs {10}, TextBuffer {11}:ADDRESS; BufferSize {0}: LONGINT):ADDRESS;
PROCEDURE UserNotes * {con, -48} (ConHandle {8}, UserText {9}:ADDRESS; NoteNumber {0}:INTEGER);
PROCEDURE DefineChars * {con, -54} (Mode {0}:INTEGER; BitTable {9}, ArrayOfChars {10}:ADDRESS);
PROCEDURE DisplayRaw * {con, -60} (ConHandle {8}, String {9}:ADDRESS; MaxLength {0}:LONGINT);
PROCEDURE Display * {con, -66} (ConHandle {8}, String {9}, FormatArgs {10}:ADDRESS; MaxLength {0}:LONGINT);
PROCEDURE Accept * {con, -72} (ConHandle {8}, AcceptStructure {9}:ADDRESS; Flags {0}:LONGINT):LONGINT;
PROCEDURE AcceptString * {con, -78} (ConHandle {8}, AcceptStructure {9}:ADDRESS; Flags {0}:LONGINT):LONGINT;
PROCEDURE SetMsgHandler * {con, -84} (ConHandle {8}, NewMsgHandler {9}:ADDRESS):ADDRESS;
PROCEDURE GetInfo * {con, -90} (ConHandle {8}, ConInfo {9}:ADDRESS):ADDRESS;
PROCEDURE SetGfx * {con, -96} (ConHandle {8}:ADDRESS; Styles {0}, FgCol {1}, BgCol {2}:INTEGER);
PROCEDURE GotoXY * {con, -102} (ConHandle {8}:ADDRESS; X {0}, Y {1}: INTEGER);
PROCEDURE Cursor * {con, -108} (ConHandle {8}:ADDRESS; Mode {0}:INTEGER);
PROCEDURE Scroll * {con, -114} (ConHandle {8}:ADDRESS; Step {0}:INTEGER);
PROCEDURE Convert * {con, -120} (String {9}, ResultBuffer {10}:ADDRESS; Flags {0}:LONGINT; MaxLength {1}:INTEGER):ADDRESS;
END ConLib.